#ifndef WORKSPACE_H
#define WORKSPACE_H

#include "cell.h"
#include "robot.h"
#include "tokenroulette.h"
#include "safestatecheck.h"
#include "xmlreader.h"
class TokenRoulette;
class Workspace
{
private:
    TokenRoulette *roulette;
public:
    std::list<Robot*> robots;
    Cell*** cellMatrix;

    SafeStateCheck* ssc;
    int width;
    int height;
    Workspace();
    void setSize(int w,int h){width=w; height=h;}
    void adjustPathCells(SafeStateCheck *ssc);
    bool isNextStateSafe(Robot* robot);
    void setMatrix(Cell*** matr){cellMatrix=matr;}
    void printSafetyCheckCells();
    void setRoulette(TokenRoulette* roulette){this->roulette=roulette;}
    void setRobots(std::list<Robot*> robots){this->robots=robots;}
    void printStage();

};

#endif // WORKSPACE_H
